#ifndef FUERZAEXTERNA_H
#define FUERZAEXTERNA_H

#include "bola.h"

class FuerzaExterna
{
public:
    virtual Vector2d getVectorFuerza(Bola* ente) = 0;
    virtual bool isAnularResto() = 0;
    
};

class Gravedad : public FuerzaExterna
{
public:
    Gravedad(double aceleracion) {
        this->vectorFuerza = Vector2d(0, -aceleracion);
    }

    Gravedad(Vector2d direccion) {
        this->vectorFuerza = direccion;
    }

    Angulo getAngulo() {
        return vectorFuerza.getAngulo();
    }

    void setAngulo(Angulo angulo) {
        vectorFuerza.setAngulo(angulo);
    }

    void setModulo(double modulo) {
        vectorFuerza.setModulo(modulo);
    }

    void setVector(Vector2d vectorFuerza) {
        this->vectorFuerza = vectorFuerza;
    }

    Vector2d getVectorFuerza(Bola* ente) {
        return vectorFuerza;
    }

    bool isAnularResto() {
        return false;
    }
private:
    Vector2d vectorFuerza;
};


#endif // FUERZAEXTERNA_H
